package com.bwsoft.admin.service;

import java.io.File;
import java.util.List;

import com.bwsoft.admin.domain.News;
import com.bwsoft.admin.domain.NewsCategory;
import com.bwsoft.admin.domain.valueObject.NewsVO;
import com.bwsoft.api.util.Constant;
import com.bwsoft.model.Message;
import com.bwsoft.util.ValidatorUtil;

public interface NewsService {
	public static final String NAME = "NewsServiceImpl";
	
	/**
	 * 查询资讯
	 * @return 资讯的集合
	 */
	List<News> findAll(Integer category);
	
	/**
	 * 分页查询资讯
	 * @return 资讯的集合
	 */
	List<News> findData(Integer page, Integer rows, String s_category, String s_lunboFlag, String s_title, String s_status);
	
	/**
	 * 查询该类别下共有多少资讯详情
	 * @param news 资讯对象
	 * @return	 资讯详情数
	 */
	int getTotalCount(String s_category, String s_lunboFlag, String s_title, String s_status);
	
	/**
	 * 保存资讯详情
	 * @param news
	 * @return
	 */
	Message saveNews(News news, File suolveImg, String suolveImgFileName, File lunboImg, String lunboImgFileName);

	/**
	 * 修改资讯详情
	 * @param news
	 * @return
	 */
	Message updateNews(News news, File suolveImg, String suolveImgFileName, File lunboImg, String lunboImgFileName);
	
	/**
	 * 删除资讯详情项
	 * @param id
	 * @return
	 */
	Message removeNews(Integer id);


/**
 * 获取资讯修改的详情
 * @param dicDataId
 * @return
 */
	News newsModifyInfo(Integer id);
	
	/**
	 * 验证资讯表单名称
	 * @param dictionary
	 * @return
	 */
	Message checkNewsInput(News news);
	
	/**
	 * 	判断是否为图片类型
	 */
	boolean isImage(String imgType);

	
	/**
	 *  判断图片的大小是否超过了预期值
	 */
	boolean isFitSize(File img);
	
	
	/**
	 * 获取NewsVo
	 * @param newsList
	 * @return
	 */
	List<NewsVO> getVo(List<News> newsList, String... flag);
	
	long getCount(Integer category);
}
